A Strategy for Efficiently Verifying Requirements Specifications Using Composition and Invariants

نویسندگان

  • Ralph D. Jeffords
  • Constance L. Heitmeyer
چکیده

This paper describes a compositional proof strategy for verifying properties of requirements specifications. The proof strategy, which may be applied using either a model checker or a theorem prover, uses known state invariants to prove state and transition invariants. Two proof rules are presented: a standard incremental proof rule analogous to Manna and Pnueli’s incremental proof rule and a compositional proof rule. The advantage of applying the compositional rule is that it decomposes a large verification problem into smaller problems which often can be solved more efficiently than the larger problem. The steps needed to implement the compositional rule are described, and the results of applying the proof strategy to two examples, a simple cruise control system and a realworld Navy system, are presented. In the Navy example, compositional verification using either theorem proving or model checking was three times faster than verification based on the standard incremental (noncompositional) rule. In addition to the two above rules for proving invariants, a new compositional proof rule is presented for circular assume-guarantee proofs of invariants. While in principle the strategy and rules described for proving invariants may be applied to any state-based specification with parallel composition of components, the specifications in the paper are expressed in the SCR (Software Cost Reduction) tabular notation, the auxiliary invariants used in the proofs are automatically generated invariants, and the verification is supported by the SCR tools.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Sudoku App: Model-Driven Development of Android Apps Using OCL?

1998 ACM CR Categories: D.2.1 [Software Engineering] Requirements/Specificationslanguages; D.2.2 [Software Engineering] Design Tools and Techniquesobject-oriented design methods, state diagrams; D.2.4 [Software Engineering] Software/Program Verificationclass invariants, formal methods; F.3.1 [Logics and Meaning of Programs] Specifying and Verifying and Reasoning about Programsassertions, in...

متن کامل

Writing JML Specifications Using Java 8 Streams

1998 CR Categories: D.1.5 [Programming Techniques] Applicative (Functional) Programming; D.2.1 [Software Engineering] Requirements/Specificationslanguages; D.2.4 [Software Engineering] Software/Program Verificationclass invariants, formal methods, programming by contract; D.3.3 [Software Engineering] Language Constructs and Featuresclasses and objects, frameworks; F.3.1 [Logics and Meanings ...

متن کامل

Model Programs for Preserving Composite Invariants

We describe a solution for the SAVCBS challenge problem: a technique for specifying and verifying invariants for objects designed using the Composite design pattern. The solution presents a greybox specification technique using JML’s model program feature. We show that model program specifications function as exemplars for capturing helper method calls in a way that preserves modularity and enc...

متن کامل

Asserting Memory Shape using Linear Logic

Contracts and assertions are accepted as an important method for improving software reliability. However, existing systems do not provide clean ways to describe conditions based on memory shape. We present a method for elegantly specifying memory shape invariants using specifications in linear logic and then dynamically verifying these specifications using the linear logic programming language ...

متن کامل

Abstract Threads

Threads Shuvendu K. Lahiri, Alexander Malkis, and Shaz Qadeer 1 MSR Redmond 2 University of Freiburg Abstract. Verification of large multithreaded programs is challenging. Automatic approaches cannot overcome the state explosion in the number of threads; semi-automatic methods require expensive human time for finding global inductive invariants. Ideally, automatic methods should not deal with t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003